Printers which form characters by recording segments in a predetermined pattern are well known. Such printers generally comprise a print head having multiple recording members that are movable relative to a recording surface whereby each member is controlled by a data signal to form a mark on the surface. The marking members may be electrodes energizable to produce a color change in an electro-sensitive record surface, or wires operable to impact a ribbon against the record surface, or a light emitting device to control exposure or electrostatic charge of the surface, or, more recently, an ink jet nozzle emitting selectively controlled drops of ink to form a mark. These printers often require that the character data be supplied as binary bits in a strict time relationship in order to produce the character segments. Therefore, character generators are required having relatively large memories from which the binary data can be readily extracted. Upon addressing these memories, the data must be transferred, usually to a bit assembler, preparatory to subsequent transfer to the marking member itself.
Character resolution is usually determined by the number of print elements per unit area. Greater resolution requires the recording of a greater number of binary bits or character segments. If each character segment is represented as a binary bit, for example, a rectangular character having a resolution of 30 pels by 32 pels will require 960 bit storage elements. Each element has to be addressable and convertible between a zero state and a one state in order to show the absence or presence of a data bit. It will be appreciated that the amount of bit storage required becomes large when considering common instances of large character sets of 256 characters. Even more storage is required when multiple fonts are included. Because of this, the addressing of a particular character cell in memory becomes complex due to the length of the address.
Data bits for each character are usually stored in a character cell having rows and columns of bistable circuits or elements. These binary elements are each settable to represent the presence or absence of a bit for a preassigned segment of a character which is to be composed of corresponding rows and columns of marks. In the past, each character of a set has been assigned a cell of standard width, i.e., 16 or 20 columns. Addressing of the cell was accomplished by transmitting beginning and ending addresses for the memory readout or a beginning address and fixed value to be added thereto to serve as the ending address. Readout could occur in either direction by incrementing or decrementing the initial address each cycle. Further sophistication in the printing art has demanded the ability to print characters at variable pitch such as 10, 12 or 15 characters per inch. Therefore, the space between adjacent characters must be filled by printing blank or space characters of various widths in order to achieve the required pitch. Another alternative used has been that of providing multiple character sets in which the characters in each set have blank or clear spaces of different predetermined widths on each side of the character; this requires greater storage capacity. An example of this technique is disclosed in U.S. Pat. No. 3,971,044 to G. I. Findley, et al., commonly assigned to the assignee of the present invention.